package cn.tedu.micro.demo.canal.handler;

import cn.tedu.micro.demo.canal.po.StationCanalPO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import top.javatool.canal.client.annotation.CanalTable;
import top.javatool.canal.client.handler.EntryHandler;

@Component
@Slf4j
//canal明确告知canal服务端 当前处理类只负责处理哪张表格的数据
@CanalTable("charging_station")
public class StationCanalHandler implements EntryHandler<StationCanalPO> {
    //新增 有客户端在charging_station新增场站数据
    @Override
    public void insert(StationCanalPO stationCanalPO){
        log.info("监听到新增数据：{}",stationCanalPO);
    }
    //删除 有客户端在charging_station删除场站数据
    @Override
    public void delete(StationCanalPO stationCanalPO){
        log.info("监听到删除数据：{}",stationCanalPO);
    }
    //更新 有客户端在charging_station更新场站数据
    @Override
    public void update(StationCanalPO before,StationCanalPO after){
        //before会传递被覆盖和修改的原值 ,如果没有修改,属性是null
        log.info("监听到更新数据,更新前：{}",before);
        log.info("监听到更新数据,更新后：{}",after);
    }
}
